Box6 프로젝트
목차
시스템 개발 (레벨 스트리밍, 세이브 파일)
케릭터 설계
게임 플레이 설계
개발 정보
현재 진행형으로 개발 진행 중입니다.
(현재 프로토 타입 제작중이라 블루프린트가 많이 쓰였습니다.)
사용 언어 c++, 블루프린트
리소스 출처:
3d 리소스 : https://www.turbosquid.com 사이트에서 구매
텍스쳐 : https://www.gametextures.com/ 사이트에서 구매
풀소스 파일 : https://www.dropbox.com/s/g5314m1fy05xmtx/20180507%20box6.
zip?dl=0
깃허브 : https://github.com/hongjinho/box6
시스템 개발(레벨 스트리밍) c++
작동 모습.
시스템 개발(레벨 스트리밍)
메인 로직은 BeginPlay 함수와 tick 함수로 나눠 집니다.
함수다 streaming 함수를 호출하여 범위 안의 레벨 리스트를 불러와서 로드와
언로드를 수행합니다.
streaming 함수에서는 원의 방정식을 이용하여 범위의 안의 스트리밍레벨을 저장
합니다.
최초 로드 최초 로드가 완료됬는 FRunnable 클래스가 실시간으로 체크를
하여 최초 로드가 완료되면 블루프린트와 직접 통신을 하여 로딩화면을 끄고 게임
시작합니다.
시스템 개발(레벨 스트리밍을 직접 구현한 이유)
퍼시스턴스 레벨스트리밍 방식은 같은 폴더 내에 있는 폴더만 가능하므로 디자이
너들이 레벨의 관리가 어렵습니다.
건물 모델링의 원점이 (0,0,0)(3ds max) 아니어서 퍼시스턴스 기능을 쓰면 로드
이상하게 되는 문제가 있어서 레벨스트리밍 제어 코드를 작성하였습니다.
캐릭터 클래스에 컴포넌트를 붙여서 캐릭터 별로 레벨 스트리밍을 처리하고 싶었
습니다.
시스템 개발(세이브 시스템) c++
IPlatformFile , FDirectoryVisitor 클래스를 이용하여 디스크에서 파일을 읽어서
로드 게임 메뉴에 세이브 파일 리스트를 작성합니다.
시스템 개발(세이브 시스템)
세이브 파일이
저장된 폴더입니다.
캐릭터 설계(블루프린트로 구현)
로직은 게임 초기화 이벤트 , 이벤트 핸들러 , 인풋 이벤트가 있습니다.
게임 초기화 기본적인 설정을 합니다.
이벤트 핸들러는 신등의 게임플레이에 관련된 이벤트들을 제어하는 클래스입
니다.
인풋 이벤트는 이벤트와 액션 이벤트 등을 인식하여 이동과 마우스 상하좌우로
시야를 이동할 있습니다.
점프와 달리기 액션을 SP 게이지가 차서 게이지가 차면 걷기를 제외하
2 동안 액션을 없습니다.
게임 플레이 설계(사다리 타기) 블루프린트 구현
게임 플레이 설계(사다리 타기)
게임 플레이 설계(사다리 타기)
start ladder 콜리전과 end pos 콜리전을 사다리 끝에 배치하면 지정된 높이
큼씩 사다리를 올라갑니다.
사다리 모델링을 제작할 사다리 사이의 공간이 일치해야 합니다.
마지막 사다리에서 올라올 때는 점프를 하여 올라옵니다.
사다리 타기시는 w, s 키를 제외하곤 작동하지 않습니다.